// function * foo() {
//   console.log(111) // 111
//   yield 100
//   console.log(222)
//   yield 200
//   console.log(333)
//   yield 300
// }
// const generator = foo()
// console.log(generator.next()) // 111 { value: 100, done: false }
// console.log(generator.next()) // 222 { value: 200, done: false }


/**
 * 发号器
 */
function * makeId() {
  let id = 1
  while(true) {
    yield id++
  }
}
const idMaker = makeId()
console.log(idMaker.next().value) // 1
console.log(idMaker.next().value) // 2

 